Tootsville-User::Place

Function

Place names a function, with lambda list (&REST WORDS):

Put a thing or a Place into the game

“Place a thing'' or ``create a place” in the game.

This command supports the basic types of event Places, and adds them to the room in the given WHERE place. WHERE can be a diamond-shaped area around the operator issuing the command (using #here, #here-tiny, or #here-big), or can be an explicitly-issued polygon string or circle designator. The event region ID will be automatically assigned.

These are usually communicated to the client as “room variables;” see TOOTSVILLE INFINITY-GET-ROOM-VARS for a description of that protocol.

Usage

#place #list
#place WHERE #download ITEM-TEMPLATE-NUMBER URL [FACING]
#place WHERE #exit MONIKER
#place WHERE #fountain ITEM-TEMPLATE-NUMBER
#place WHERE #game GAME-MONIKER GAME-ATTRIBUTES
#place WHERE #item ITEM-TEMPLATE-NUMBER [FACING]
#place WHERE #item2 ITEM-TEMPLATE-NUMBER OTHER-ITEM-TEMPLATE-NUMBER
#place WHERE #mini MINIGAME-MONIKER
#place WHERE #place PLACE-KIND
#place WHERE #room MONIKER
#place WHERE #shop ITEM-TEMPLATE-NUMBER PRICE [FACING]
#place WHERE #snowball ITEM-TEMPLATE-NUMBER [FACING]
#place WHERE #unwalk
#place WHERE #vitem ITEM-TEMPLATE-NUMBER [FACING]
#place WHERE #walk

#place #list will give a brief reminder of the #place subcommand syntax, although this manual should be considered the canonical reference source.

WHERE can be one of:

#here
The location of the operator issuing the command, surrounded by an ``average size'' polygon approximating a circle.

#here-tiny
The location of the operator issuing the command, surrounded by a “tiny” polygon approximating a circle.

#here-big
The location of the operator issuing the command, suroounded by a “big” polygon approximating a circle.

A point
An x,z coördinate pair; e.g. 100,100.

A polygon designator
The specific location can be outlined as a series of x,z coördinates delimited by tildes; e.g. 100,100~100,200~200,200~200,100.

A circle designator A polygon approximating a circle originating
at the location of the operator issuing the command, whose radius R and number of segments S are specified, delimited by a x character; e.g. 100x10. A circle can be designated to start at another position with the notation 50,60+100x10, where the center will be at x position 50, z position 60.

The second parameter indicates the sort of thing that will be added, as enumerated in the following sections.

Examples

#place #here #item 1337
#place #here #room TootSweets
#place #here #vitem 42
#place #here-tiny #exit TootSquare
#place #here #mini Minigame.js minigame
#place #here-big #walk
#place 100,100~100,200~200,200~200,100 #unwalk
#place 100x10 #item 1234

#download Placing a download trigger item

An item will be placed at the point specified, which must be a single point (or a named spot).

#exit Placing a transwarp conduit

An “exit” is a hyperspace link between two spots in the game universe. A place will be created at the indicated location. Any player who enters into the “exit” place will be immediately relocated to the named spot indicated.

Changes from 1.2 to 2.0

In Romance 1.2, exits were linked between rooms. A specially-formatted exit designator could indicate to which exit (entrance) in the other room to link the player.

In Romance 2.0, the exit's destination is an arbitrary point with a “spot” name assigned to it.

#fountain Placing a magic fountain

WRITEME

item Placing an item

A furniture item will be placed at the position indicated. Position must be #here or a point coördinate pair. The identifier is an item template ID number. An instance of the item will be placed at that point. An optional facing direction can be specified, either in radians, or from the set N NE E SE S SW W NW.

Changes from 1.2 to 2.0

In Romance 1.2, this was used to place an item-gifting spot, which was invisible.

#item2

This is no longer supported in Romance 2.0.

Changes from 1.2 to 2.0

In Romance 1.2, item2 provided different items to paid (“V.I.T.”) or unpaid (regular) players. Since Tootsvillle V is free to play, this is no longer needed.

#place Placing a Place designator

A Place designator WRITEME

room Placing a “room” (spot) marker

A “spot” designator will be created at the point indicated, which must be #here or a point coördinate pair. The moniker given will be associated with the spot and can be used for certain other commands.

#shop Placing a shop item

A shop item is placed at the position indicated. Position must be #here or a point coördinate pair. The identifier is an item template ID number. An instance of the item will be placed at that point. An optional facing direction can be specified, either in radians, or from the set N NE E SE S SW W NW. Any player who clicks on the item at this sspot will receive a prompt offering to sell them the item at the price indicated.

The price given is in peanuts, unless it begins with the letter F, in which case it is given in fairy dust.

#mini Placing a minigame

Minigames are not supported in Romance 2.0, although they could return in some form. In-world games based upon TOOTSVILLE INFINITY-GAME-ACTION are supported still, q.v. See Also #place #game in this section.

Changes from 1.2 to 2.0

In Tootsville IV, minigames were Adobe Flash applets which were loaded into the main game environment. This is no longer the case.

#snowball Placing a snowball source pile

WRITEME

#unwalk Placing an unwalkable space

An unwalkable space is a specific type of Place designator given special consideration. It presents as a very tall invisible object that blocks navigation.

Unwalkable spaces are not currently supported by the Tootsville V client software.

To remove an unwalkable space, place a #walk space that covers it.

vitem Placing an item-gifting item

An item-gifting spot will be placed at the position indicated. Position must be #here or a point coördinate pair. The identifier is an item template ID number. An instance of the item will be placed at that point. An optional facing direction can be specified, either in radians, or from the set N NE E SE S SW W NW. Any player who clicks on the item at this spot will receive an instance of the template in their inventory, and a friendly pop-up message with a description of the item. Only one item per player will be given.

Changes from 1.2 to 2.0

In Romance 1.2, vitem gifts were only for “V.I.T.” (paid) players, and item was for everyone. item has been repurposed for furniture placement. Also, item gifting spots were invisible and triggered by the player walking into them.

#walk Placing a walkable space

This designates that the place specified is walkable space; if it intersects any place previously marked as unwalkable, it will be reverted.

Implementation note

Each subcommand is implemented by a “private” function named %OPERATOR-PLACE-subcommand in the Tootsville package.

File

Defined in file src/infinity/legacy-ops.lisp.